package com.sxj.corejava.code07_面向对象;

/**
 * @author 石小俊
 * @date 2025年01月06日
 */
public class Test04_static关键字 {
    public static void main(String[] args) {
        SomeClass sc = new SomeClass();
//        sc.name = "aaa";
        SomeClass.name = "aaa";
        sc.age = 11;

//        System.out.println(sc.name);
//        System.out.println(sc.age);
//
//        SomeClass sc2 = new SomeClass();
////        sc2.name = "admin";
//        SomeClass.name = "admin";
//        sc2.age = 18;
//        System.out.println(sc2.name);
//        System.out.println(sc2.age);

//        System.out.println(sc.name);
//        System.out.println(SomeClass.name);
//        System.out.println(sc.age);

        sc.test02();
        System.out.println("**************************************");
//        sc.show02();
        SomeClass.show02();

    }
}

class SomeClass {
    // 被static修饰的变量称之为静态变量
    static String name;
    // 没有被static修饰的变量称之为实例变量
    int age;

    public void test() {
        System.out.println(name);
        System.out.println(age);
    }

    public static void show() {
        System.out.println("这是静态方法");
    }

    public void test02() {
        // 实例方法中可以访问静态变量与实例变量
        System.out.println(name);
        System.out.println(age);
        test();
        show();
    }

    public static void show02() {
        System.out.println(name);
        // 静态方法中不能访问实例变量
//        System.out.println(age);
        // 静态方法中不能调用实例方法
//        test();
        show();
    }

}
